Before a typical computer can execute software applications, the computer must load an operating system from a disk to its working memory, which is typically random access memory (“RAM”). This function is carried out through “boot-strapping”, otherwise simply known as “booting” the computer. Booting automatically occurs when the computer is powered on. Booting may also occur when a user resets the computer.
One of the functions performed during booting is the Power On Self Test (“POST”), which is a part of the computer's Basic Input/Output System (“BIOS”). The POST initializes the internal hardware components of the computer such as timers, Direct Memory Access (“DMA”) controllers, memory controllers, I/O devices, video hardware, and the like. As part of its initialization, POST performs a reliability test to check that the computer's components are functioning correctly.
If POST completes without errors, the hardware components are initialized and the operating system is loaded from a persistent storage such as a hard disk. At this point, the computer may be utilized. However, if errors do occur during the booting process, a message related to each boot error may be displayed. If the boot error is serious enough, booting may terminate altogether.
At least one drawback with the typical booting is that the boot errors are not saved. Accordingly, the errors cannot be collected and later analyzed. Also the user may miss the error messages altogether if the user is not immediately present when the boot errors occur. Another drawback is that the error messages may be difficult to understand. For example, the error message may simply be an error number. Such error messages often require a secondary source, such as a user's manual, to decode the error message. In another example, the error message may not be displayed in user's native language. In general, the boot errors of a typical data processing system are difficult to process.